#include <bits/stdc++.h>
#define int long long
using namespace std;

const int maxn = 2005;
const int p = 1e9 + 7;

int dp[maxn][maxn]; // dp[i][j] 表示 第i 个取 j 的方法个数
int k, n;

void solve(){
	cin >> k >> n;
	for (int i=1;i<=k;i++) {
		dp[1][i] = 1;
	}
	for (int i=2;i<=n;i++) { // 横坐标 2~n
		for (int j=1;j<=k;j++) { // 1~k 都会进行贡献
			int x = 1; // 依次枚举 倍数 直到贡献超出界限
			int mul = x*j;
			while (mul <= k) {
				dp[i][mul] += dp[i-1][j];
				dp[i][mul] %= p;
				x++;
				mul = x * j;
			}
		}
	}
	// 进行统计总和
	int ans = 0;
	for (int i=1;i<=k;i++) {
		ans += dp[n][i];
		ans %= p;
	}
	cout << ans << '\n';
}


signed main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	solve();
	return 0;
}
